package com.worthtech.billportal.service.imp;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import com.worthtech.billportal.bean.CsCtrlModule;
import com.worthtech.billportal.bean.Permission;
import com.worthtech.billportal.bean.Role;
import com.worthtech.billportal.bean.User;
import com.worthtech.billportal.dao.ModuleDAO;
import com.worthtech.billportal.service.ModuleService;
import com.worthtech.billportal.bean.CsCtrlUser;


public class ModuleServiceImp implements ModuleService {

	private ModuleDAO moduleDAO;
	
	public List getModuleTree(int parentId) {
		ArrayList moduleTree = new ArrayList();
		return getModuleTree(parentId,moduleTree);
	}
	
	private List getModuleTree(int parentId,List list) {
		List l = this.getModuleDAO().getModulesByParentId(parentId);
		for (int i = 0; i < l.size(); i++) {
			CsCtrlModule module = (CsCtrlModule) l.get(i);
			list.add(module);
			//this.getModuleTree(module.getModuleid().intValue(),list);
		}
		return list;
	}

	public ModuleDAO getModuleDAO() {
		return moduleDAO;
	}

	public void setModuleDAO(ModuleDAO moduleDAO) {
		this.moduleDAO = moduleDAO;
	}

	public List getModuleTree(CsCtrlUser user) {
		return this.getModuleDAO().getModuleMap(user.getUsergroup());
	}

	public CsCtrlModule getModule(int id) {
		return this.getModuleDAO().getModule(id);
	}

	public List getListByHQL(String tableName, int startPage, int perNo,
			String orderby) {
		return this.getModuleDAO().getListByHQL(tableName, startPage, perNo, orderby);
	}
	
	
}
